Python, OpenCV ve HoughLine ile Video Üzerinde Roket Tespiti

Bu yazımda Python ve OpenCV kütüphanesi ile HoughLineP fonksiyonunu kullanarak Çizgi Tanımlama yardımıyla Roket Tespiti Yapacağız.

Bir süredir düşünüyordum OpenCV kütüphanesi çizgi tespiti özelliği ile değişik ne yapabilirim diye, daha sonra karadan havaya atılan roketlerin arkasında iz bıraktığı aklıma geldi.

Bu doğrultuda Roketin atış derecesi ve Hızını hesaplatabilirmiyim derken aslında daha geliştirilmesi gereken aşağıdaki gibi bir sonuç çıktı.

Ek olarak HoughLinesP’nin HoughLinesla olan farkına gelirsek HoughLines sistem tespit edilen tüm noktaları dikkate alark işlem yapar.
HoughLinesP’de ise sistem bir çizgi oluşturmak için gereken rastgele nokta miktarını dikkate alarak işlem yapar.
Kısaca nokta hüzmesinin tam bir çizgi oluşturması beklenmez onun yerine nokta hüzmesinin çizgi oluşturabilme ihtimali üzerine çalışır.

Sorularınız ve tavsiyeleriniz için yorum bölümünü kullanabilirsiniz.

Kodların ve Videonun Tamamına Şu Linkten Ulaşabilirsiniz : Github

Şimdi kodlarımızı adım adım inceleyebiliriz ;

1.Adım : Gerekli olan kütüphanelerimizi ekliyoruz :

2.Adım : Video Dosyamızı Açıyoruz :

3.Adım : Videomuzu Kare Kare Okuyoruz :

4.Adım : Resmimizi Üzerinde Tespit Yapabilmek İçin Gri Tonlamalı Olarak Yeniden Düzenliyoruz :

5.Adım : Resmimiz Üzerinde Bulunan Kenarları Canny Fonksiyonu ile Tespit Ediyoruz :

6.Adım : Resmimiz Üzerinde Bulunan Çizgileri Tespit Ediyoruz :

7.Adım : Tespit Edeceğimiz Roketlerimiz İle İlgili Değişkenleri Tanımlıyoruz :

8.Adım : Tespit Edilen Çizgilerimizi Döngüye Sokuyoruz ve Koordinatlarını Alıyoruz,

Bu koordinatlardan benim kullandığım video üzerinde kenarlarda istemediğim çizgiler olduğu için kenarlardan ve aşağıdan boşluk bırakıyorum :

9.Adım : Roketimizin Bilgilerini Çok Boyutlu Dizide Tutacağım İçin İlk Boyutunu Oluşturuyoruz :

10.Adım : Tespit Edilen Roketin Kaç Derece İle Havalandığını Buluyoruz :

11.Adım : Tespit Edilen Roketin Bilgilerini Dizimize Ekliyoruz, Dizi Üzerinde Kat Ettiği Yolun Maksimum Zamanı İle Minimum Zamanını Bulup Hızını Hesaplatıyoruz :

12.Adım : Birden Fazla Roket Oabileceği İçin Bunların Çıkış Noktasını Tek Varsayıyoruz ve Ortalama Havalanma Açılarını ve Hızlarını Hesaplatıp Ekranda Gösteriyoruz :

Kodların Tamamına ve Videoya Yukarıdaki Github Linki Üzerinden Ulaşabilirsiniz.

Bu Kategorideki Diğer Yazılar

Leave a Comment